﻿//#define  _CRT_SECURE_NO_WARNINGS 1
//using namespace std;
//#include<iostream>

//请统计某个给定范围[L, R]的所有整数中，数字2出现的次数。
//比如给定范围[2, 22]，数字2在数2中出现了1次，在数12中出
// 现1次，在数20中出现1次，在数21中出现1次，在数22中出现
// 2次，所以数字2在该范围内一共出现了6次。
//第一题

//static int z = 0;
//void fun(int i)
//{
//    while (i) {
//        int a = i % 10;
//        if (a == 2)
//        {
//            z++;
//        }
//        i = i / 10;
//    }
//}
//int main() {
//    int a, b;
//    cin >> a >> b;
//    for (int i = a; i <= b; i++)
//    {
//        fun(i);
//    }
//    cout << z << endl;
//    return 0;
//}

//第二题
//#include <unordered_set>
//class Solution {
//public:
//    /**
//     * 代码中的类名、方法名、参数名已经指定，请勿修改，直接返回方法规定的值即可
//     *
//     *
//     * @param nums1 int整型vector
//     * @param nums2 int整型vector
//     * @return int整型vector
//     */
//    vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {
//        // write code here
//        unordered_set<int> s1;
//        for (auto e : nums1)
//        {
//            s1.insert(e);
//        }
//
//        unordered_set<int> s2;
//        for (auto e : nums2)
//        {
//            s2.insert(e);
//        }
//
//        vector<int> ret;
//        for (auto e : s1)
//        {
//            if (s2.find(e) != s2.end()) {
//                ret.push_back(e);
//            }
//        }
//        return ret;
//    }
//};

//第三题
//#include <iostream>
//#include<string>
//#include<stack>
//#include <queue>
//using namespace std;
//
//int main() {
//    string s, s1;
//    cin >> s;
//    for (auto ch : s)
//    {
//        if (ch == s1.back() && s1.size())
//        {
//            s1.pop_back();
//        }
//        else
//        {
//            s1 += ch;
//        }
//    }
//    if (s1.empty()) {
//        cout << 0 << endl;
//    }
//    cout << s1 << endl;
//
//    return 0;
//}

//第四题
//#include <iostream>
//#include <vector>
//#include <algorithm>
//using namespace std;
//
//int main() {
//    int n = 0;
//    cin >> n;
//    vector<int> v;
//    for (int i = 0; i < 3 * n; i++)
//    {
//        int a = 0;
//        cin >> a;
//        v.push_back(a);
//    }
//    sort(v.begin(), v.end());
//
//    long sum = 0;
//    for (size_t i = 0; i < n; i++)
//    {
//        sum += v[v.size() - (2 * (i + 1))];
//    }
//    cout << sum << endl;
//    return 0;
//}

//第五题
#include <iostream>
#include <iterator>
#include<string>
using namespace std;

int main() {
    string s1, s2;
    getline(cin, s1);
    cin >> s2;
    for (size_t j = 0; j < s2.size(); ++j) {
        while (s1.find(s2[j]) != string::npos)
            s1.erase(s1.find(s2[j]), 1);
    }
    cout << s1 << endl;
    return 0;

}